1. Field of the Invention
The present invention relates to software components and software component management systems, and particularly to a software component used as a “component” by various application software programs and to a software component management system for managing software components.
2. Description of the Related Art
In today's software development process, a plurality of program segments obtained by appropriately dividing an existing software program are often treated as components (hereinafter referred to as “software components”) and combined to efficiently create a new software program.
In such a development process, it is necessary for an administrator to accurately inform users about how to use a software component. At the same time, to quickly deal with problems in the process of development using the software component, it is important for the users to accurately inform the administrator about how the software component is used, and for the administrator to correctly understand the use of the software component.
Here, “administrator” of the software component is an operator who performs management tasks for the software component. Examples of such management tasks include delivery, use tracking, version control, collecting information about defects and scalability, providing users with the collected information, and supporting the application of the software component.
“User” of the software component is an operator who uses the software component to develop an application software program. Here, an end user who indirectly uses the software component by using the application software program is not included in “user” of the software component.
JP-A 11-327962 (KOKAI) discloses a technique relating to the use of software components. In this technique, for example, visually displayable information is added to a software component included in an electronic device so that the operating conditions of the electronic device can be monitored, on the basis of the added information, via a display unit of the electronic device or via an external computer.
In product development where software programs are used as components, delivery management of the software components is an important task for an administrator. In the delivery management, the administrator has to keep track of whether software components are used by authorized users for the development of specified products, and which software component is used by which user so that information about defects and scalability can be provided as needed.
In the delivery management performed by humans, it is difficult to fully keep track of how a software component is actually used after it is delivered. For example, even if a user accidentally or intentionally applies the software component to the development of a product which is not originally intended, or transfers the software component to a third party, it is virtually impossible to reliably detect such use which is against the intention of the administrator of the software component, since the administrator cannot inspect source code and link information with respect to every development.
The technique disclosed in JP-A 11-327962 (KOKAI) aims to monitor the operating sequence of an electronic device and to detect abnormal operations, and thus is not applicable to the delivery management of software components.